package net.yla.smartbus.module.ba.vehicletype.serice;

import net.yla.smartbus.core.base.PageBean;
import net.yla.smartbus.module.ba.vehicletype.dto.VehicleTypeDto;
import net.yla.smartbus.module.ba.vehicletype.form.VehicleTypeForm;
import net.yla.smartbus.module.ba.vehicletype.query.VehicleTypeQuery;

import java.util.List;

/**
 * @author 默苍离
 * @date 2021/6/23 9:48
 * <p>
 * ******************************************
 * @annotation:
 */

public interface VehicleTypeService {

    /**
     * 获取所有车型
     *
     * @param query
     * @return
     */
    List<VehicleTypeDto> getList(VehicleTypeQuery query);


    /**
     * 获取所有车型数量
     *
     * @param query
     * @return
     */
    Integer getCount(VehicleTypeQuery query);


    /**
     * 分页所有车型
     *
     * @param query
     * @return
     */
    PageBean<VehicleTypeDto> getPage(VehicleTypeQuery query);


    /**
     * 根据id进行删除
     *
     * @param ids
     * @return
     */
    Integer delete(Integer[] ids);


    /**
     * 新增车辆类型
     *
     * @param form
     * @return
     */
    Integer insert(VehicleTypeForm form);


    /**
     * 根据id获取 车型
     *
     * @param id
     * @return
     */
    VehicleTypeDto getVehicleTypeById(Integer id);


    /**
     * 更新车辆类型
     *
     * @param form
     * @return
     */
    Integer update(VehicleTypeForm form);


}
